home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / standard / logicop.z / logicop
Encoding:
Text File  |  2002-10-03  |  6.2 KB  |  133 lines

  1.  
  2.  
  3.  
  4. llllooooggggiiiiccccoooopppp((((3333GGGG))))                                                        llllooooggggiiiiccccoooopppp((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      llllooooggggiiiiccccoooopppp - specifies a logical operation for pixel writes
  10.  
  11. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  12.      vvvvooooiiiidddd llllooooggggiiiiccccoooopppp((((ooooppppccccooooddddeeee))))
  13.      lllloooonnnngggg ooooppppccccooooddddeeee;;;;
  14.  
  15. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  16.      _o_p_c_o_d_e   expects one of the 16 possible logical operations.
  17.  
  18.               Symbol      Operation
  19.  
  20.               LLLLOOOO____ZZZZEEEERRRROOOO     0
  21.               LLLLOOOO____AAAANNNNDDDD      src AND dst
  22.               LLLLOOOO____AAAANNNNDDDDRRRR     src AND (NOT dst)
  23.               LLLLOOOO____SSSSRRRRCCCC      src
  24.               LLLLOOOO____AAAANNNNDDDDIIII     (NOT src) AND dst
  25.               LLLLOOOO____DDDDSSSSTTTT      dst
  26.               LLLLOOOO____XXXXOOOORRRR      src XOR dst
  27.               LLLLOOOO____OOOORRRR       src OR dst
  28.               LLLLOOOO____NNNNOOOORRRR      NOT (src OR dst)
  29.               LLLLOOOO____XXXXNNNNOOOORRRR     NOT (src XOR dst)
  30.               LLLLOOOO____NNNNDDDDSSSSTTTT     NOT dst
  31.               LLLLOOOO____OOOORRRRRRRR      src OR (NOT dst)
  32.               LLLLOOOO____NNNNSSSSRRRRCCCC     NOT src
  33.               LLLLOOOO____OOOORRRRIIII      (NOT src) OR dst
  34.               LLLLOOOO____NNNNAAAANNNNDDDD     NOT (src AND dst)
  35.               LLLLOOOO____OOOONNNNEEEE      1
  36.  
  37.               Only the lower 4 bits of _o_p_c_o_d_e are used.
  38.  
  39.               The values of LO_SRC and LO_DST have been chosen so that
  40.               expressing an operation as the equivalent combination of them
  41.               and the C bitwise operators generates an acceptable _o_p_c_o_d_e
  42.               value; e.g., LO_NAND can be written as ~(LO_SRC & LO_DST) .
  43.  
  44. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  45.      llllooooggggiiiiccccoooopppp specifies the bit-wise logical operation for pixel writes.  The
  46.      logical operation is applied between the source pixel value (incoming
  47.      value) and existing destination value (previous value) to generate the
  48.      final pixel value.  In colorindex mode all of the (up to 12) writemask
  49.      enabled index bits are changed.  In RGB mode all of the (up to 32)
  50.      enabled component bits are changed.
  51.  
  52.      llllooooggggiiiiccccoooopppp defaults to LO_SRC, meaning that the incoming source value simply
  53.      replaces the current (destination) value.
  54.  
  55.      It is not possible to do logical operations and blend simultaneously.
  56.      When opcode is set to any value other than LO_SRC, the blendfunction
  57.      _s_f_a_c_t_r and _d_f_a_c_t_r values are forced to BF_ONE and BF_ZERO repectively
  58.      (their default values). Likewise, calling bbbblllleeeennnnddddffffuuuunnnnccccttttiiiioooonnnn with arguments
  59.      other than BF_ONE and BF_ZERO forces the logical opcode to LO_SRC,
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. llllooooggggiiiiccccoooopppp((((3333GGGG))))                                                        llllooooggggiiiiccccoooopppp((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      Unlike bbbblllleeeennnnddddffffuuuunnnnccccttttiiiioooonnnn,,,, llllooooggggiiiiccccoooopppp is valid in all drawing modes (NORMALDRAW,
  75.      UNDERDRAW, OVERDRAW, PUPDRAW, CURSORDRAW) and in both colorindex and RGB
  76.      modes.  Like the blendfunction, it affects all drawing operations,
  77.      including points, lines, polygons, and pixel area transfers.
  78.  
  79.      When multiple destination buffers are specified (using ffffrrrroooonnnnttttbbbbuuuuffffffffeeeerrrr,,,,
  80.      bbbbaaaacccckkkkbbbbuuuuffffffffeeeerrrr,,,, and zzzzddddrrrraaaawwww ) only a single location is read and used during
  81.      the logical operation.  By default, the destination value is read from
  82.      the front buffer in single buffer mode and from the back buffer in double
  83.      buffer mode.  If the front buffer is not enabled in single buffer mode,
  84.      the value is taken from the z-buffer.  If the back buffer is not enabled
  85.      in double buffer mode, the value is taken from the front buffer (if
  86.      possible) or from the z-buffer.
  87.  
  88. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  89.      blendfunction, gversion, getgdesc
  90.  
  91. NNNNOOOOTTTTEEEESSSS
  92.      The numeric assignments of the 16 operation names were chosen to be
  93.      identical to those defined by the X Window System.  They will not be
  94.      changed in future software releases.
  95.  
  96.      This routine does not function on IRIS-4D B and G models, nor does it
  97.      function on early serial numbers of the Personal Iris.  Use ggggvvvveeeerrrrssssiiiioooonnnn to
  98.      determine which type you have.
  99.  
  100.      Some IRIS-4D GT and GTX models do support this routine.  Use ggggeeeettttggggddddeeeesssscccc to
  101.      determine if llllooooggggiiiiccccoooopppp is supported.
  102.  
  103. BBBBUUUUGGGGSSSS
  104.      Personal Iris models do not support logical operations in combination
  105.      with non-solid patterns nor with zoomed pixel writes or copies.  When
  106.      either of these features is selected, the default logical operation,
  107.      LO_SRC, will be used regardless of the value passed to llllooooggggiiiiccccoooopppp.
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.